package com.xzmzhp.dao.cos;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xzmzhp.dao.cos.sql.OrnamentsSql;
import com.xzmzhp.pojo.cos.Ornaments;
import com.xzmzhp.vo.cos.OrnamentsVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author: 王源(xm)
 * @create: 2022-04-23 21:06
 * @program: ams
 * @description: cos配件数据库交互接口
 */
@Repository
public interface OrnamentsMapper extends BaseMapper<Ornaments> {

    /**
     * 根据条件查询cos服配件相关信息sql
     * @param param 相关参数
     *        cosId cos服id
     *        ornamentsName cos配件名称
     *        ornamentsTypeName cos配件类型名称
     *        ornamentsStatus cos配件状态
     * @return cos配件相关信息sql
     */
    @SelectProvider(type = OrnamentsSql.class,method = "findAll")
    List<Ornaments> findAll(Map<String, Object> param);

    /**
     * 根据条件查询cos服配件相关信息
     * @param param 相关参数
     *        cosName cos服名称
     *        ornamentsName cos配件名称
     *        ornamentsTypeName cos配件类型名称
     *        ornamentsStatus cos配件状态
     * @return cos配件相关信息
     */
    @SelectProvider(type = OrnamentsSql.class,method = "ornamentsByParam")
    List<OrnamentsVo> ornamentsByParam(Map<String,Object> param);

    /**
     * 根据cos服配件Id修改cos服配件状态
     * @param ornamentsId cos服配件Id
     * @param status cos服配件状态
     * @return 是否成功
     */
    @Update("update ornaments set ornaments_status = #{status} where ornaments_id = #{ornamentsId}")
    Integer exitStatus(@Param("ornamentsId") Integer ornamentsId,@Param("status")  String status);
}
